package JDBC.Day06.Day06;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * @author 李某
 * * @date 2021/11/1
 * *物有本末，事有终始。知其先后者，则近道矣！
 * *荷花开满池塘的前一天还是半塘荷花半塘云。
 */
public class Test3 {}



//JDBC的练习
 class test3 {
    public static void main(String[] args) throws Exception{
//        method();//查询部门表的<100数据
        method2();//向dept表里插入数据
    }
    //向dept表里插入数据
    private static void method2() throws Exception {
        Connection c = JDBCUtils.getConnection();
        //插入数据时怎么决定要几个问号? 要看表里有几个字段需要设置值
        String sql = "insert into dept values(?,?,?)" ;
        PreparedStatement p = c.prepareStatement(sql);
        //设置SQL的参数
        p.setObject(1,666);
        p.setObject(2,"软件测试部");
        p.setObject(3,"大山西");
        //执行SQL
        p.executeUpdate();//执行增删改的SQL
        //TODO 会返回结果集吗?返回了的是啥?
    }
    //查询部门表的<100数据
    private static void method() throws Exception{
        Connection c = JDBCUtils.getConnection();//利用工具类,获取数据库的连接
        //获取传输器,执行SQL骨架
        String sql = "select * from dept where deptno < ?";
        PreparedStatement s = c.prepareStatement(sql);
        //设置SQL的参数
        s.setInt(1,100);//给第一个?设置100
        ResultSet r = s.executeQuery();//执行查询的SQL语句
        //处理结果集
        while(r.next()){//next()判断有数据吗
            //获取数据getXxx()--获取表里的dname字段的值,并打印
            String str = r.getString("dname");
            System.out.println(str);
        }
        //关闭资源
        r.close();
        s.close();
        c.close();
    }
}

